using System.Diagnostics;
using UnityEngine;

public class Debug : UnityEngine.Debug
{
    //Log
    [Conditional("ENABLE_LOG")]
    public new static void Log(object message) => unityLogger.Log(LogType.Log, message);
    [Conditional("ENABLE_LOG")]
    public new static void Log(object message, UnityEngine.Object context) => unityLogger.Log(LogType.Log, message, context);
    [Conditional("ENABLE_LOG")]
    public new static void LogFormat(string format, params object[] args) => unityLogger.LogFormat(LogType.Log, format, args);
    [Conditional("ENABLE_LOG")]
    public new static void LogFormat(UnityEngine.Object context, string format, params object[] args) => unityLogger.LogFormat(LogType.Log, context, format, args);
    //Warning
    [Conditional("ENABLE_LOG")]
    public new static void LogWarning(object message) => unityLogger.Log(LogType.Warning, message);
    [Conditional("ENABLE_LOG")]
    public new static void LogWarning(object message, UnityEngine.Object context) => unityLogger.Log(LogType.Warning, message, context);
    //Error
    [Conditional("ENABLE_LOG")]
    public new static void LogError(object message) => unityLogger.Log(LogType.Error, message);
    [Conditional("ENABLE_LOG")]
    public new static void LogError(object message, UnityEngine.Object context) => unityLogger.Log(LogType.Error, message, context);
    //API
    public static void Enable(bool enable) => unityLogger.logEnabled = enable;
    public static void FilterLog(LogType lowestAllowType) => unityLogger.filterLogType = lowestAllowType;
}

